export interface optionsProps {
  value: string | number
  label: string
  id?: string | number
}

export interface pagingProps {
  /**
   * 页码，从 1 开始
   */
  pageNo: number
  /**
   * 每页条数，最大值为 100
   */
  pageSize: number
  total: number
}

// 分页返回
export interface resPageProps {
  code?: number
  data?: pageResultProps
  msg?: string
}

/**
 * pageResultProps，分页结果
 */
export interface pageResultProps {
  /**
   * 数据
   */
  list: rowProps[]
  /**
   * 总量
   */
  total: number
}

// 详情返回
export interface resDetailsProps {
  code?: number
  data?: detailsInfoProps
  msg?: string
}

export interface formSearchProps {
  /**
   * 经费拨款单id
   */
  appropriationId?: number
  /**
   * 上报人
   */
  appropriationReport?: string
  /**
   * 状态: 0.草稿 1.审核中 2.审核通过 3.驳回（完结）
   */
  appropriationStatus?: number
  /**
   * 是否需要外协
   */
  externalCooperationRequired?: number
  /**
   * 项目负责人
   */
  headerName?: string
  /**
   * 是否重点项目   1-是  0-否
   */
  keyProject?: string
  /**
   * 承担单位id
   */
  leadingUnitId?: number
  /**
   * 页码，从 1 开始
   */
  pageNo: number
  /**
   * 每页条数，最大值为 100
   */
  pageSize: number
  /**
   * 项目编号
   */
  projectCode?: string
  /**
   * 项目级别
   */
  projectLevel?: string
  /**
   * 项目名称
   */
  projectName?: string
  /**
   * 项目类型
   */
  projectType?: string
  /**
   * 研究结束时间
   */
  researchEndDate?: string[]
  /**
   * 研究开始时间
   */
  researchStartDate?: string[]
  /**
   * 专业领域
   */
  subjectArea?: string
  /**
   * 课题编号
   */
  topicCode?: string
  /**
   * 课题负责人
   */
  topicLeader?: string
  /**
   * 课题名称
   */
  topicName?: string
  /**
   * 课题类型
   */
  type?: number

  keyValue?: string
  keyName?: string
}

export interface rowProps {
  /**
   * 追加金额
   */
  appendAmount?: number
  /**
   * 经费拨款单ID
   */
  appropriationId?: number
  /**
   * 审核状态: 0.草稿 1.审核中 2.审核通过 3.驳回（完结）
   */
  appropriationStatus?: number
  /**
   * 协作单位名称
   */
  collaboratingUnitName?: string
  /**
   * 创建时间
   */
  createTime?: string
  /**
   * 预计投入经费
   */
  estimatedBudget?: number
  /**
   * 是否需要外协
   */
  externalCooperationRequired?: number
  /**
   * 负责人id
   */
  headerId?: number
  /**
   * 负责人名称
   */
  headerName?: string
  /**
   * 是否重点项目   1-是  0-否
   */
  keyProject?: string
  /**
   * 课题负责人
   */
  leader?: string
  /**
   * 承担单位名称
   */
  leadingUnitName?: string
  /**
   * 课题名称
   */
  name?: string
  /**
   * 项目编号
   */
  projectCode?: string
  /**
   * 项目创建时间
   */
  projectCreateTime?: Date
  /**
   * 项目信息id
   */
  projectId?: number
  /**
   * 项目级别
   */
  projectLevel?: string
  /**
   * 项目名称
   */
  projectName?: string
  /**
   * 项目类型
   */
  projectType?: string
  /**
   * 项目类型名称
   */
  projectTypeName?: string
  /**
   * 上报人名称
   */
  reporterName?: string
  /**
   * 上报单位名称
   */
  reportingUnitName?: string
  /**
   * 研究周期结束时间
   */
  researchEndDate?: Date
  /**
   * 研究周期开始时间
   */
  researchStartDate?: Date
  /**
   * 开题设计状态: 0.草稿 1.审核中 2.审核通过 3.驳回（完结）
   */
  status?: number
  /**
   * 专业领域
   */
  subjectArea?: string
  /**
   * 专业领域 文字拼接
   */
  subjectAreaText: string
  /**
   * 立项建议id
   */
  topicId?: number
  /**
   * 开题设计id
   */
  topicOpeningId?: number
  /**
   * 课题类型
   */
  type?: number
}

/**
 * detailsInfoProps，管理后台 - 年度预算上报详细信息
 */
export interface detailsInfoProps {
  projectInfo?: projectInfoProps
  topicInfo?: topicInfoProps
  fundingAppropriationRespVO?: allocationInfoProps
}

// 上报申请
export interface fundsReportProps {
  /**
   * 一批拨款
   */
  firstAmount?: number
  /**
   * 主键
   */
  id: number
  /**
   * 备注
   */
  remark?: string
  /**
   * 保存类型，默认为草稿1
   */
  saveType: number
  /**
   * 二批拨款
   */
  secondAmount?: number
  /**
   * 状态: 0.草稿 1.审核中 2.审核通过 3.驳回（完结）
   */
  status: number
  /**
   * 课题id
   */
  topicId: number
  /**
   * 年度计划
   */
  yearPlan?: number
}

export interface topicInfoProps {
  [property: string]: any
}

export interface projectInfoProps {
  [property: string]: any
}

export interface allocationInfoProps {
  createTime?: string
  creatorDep?: string
  creatorDepName?: string
  creatorName?: string
  firstAmount?: string
  id?: number | string
  remark?: string
  secondAmount?: string
  status?: number
  topicId?: number
  yearPlan?: number | string
}

// 课题项目 信息返回
export interface resTopicInfoProps {
  code?: number
  data?: topicDetailsInfoProps
  msg?: string
}

export interface topicDetailsInfoProps {
  projectInfoRespVO?: projectInfoProps
  topicRespVO?: topicInfoProps
}

/**
 * 课题列表查询返回的props
 */
export interface resTopicListProps {
  code?: number
  data?: topicListProps[]
  msg?: string
}
// 课题列表选项
export interface topicListProps {
  /**
   * 课题id
   */
  topicId?: number
  /**
   * 课题名称
   */
  topicName?: string
}

// 草稿明细
export interface resDrafDetailsProps {
  code?: number
  data?: allocationInfoProps
  msg?: string
}

export interface resAnyProps {
  code?: number
  data?: any
  msg?: string
}
// 相关审核
export interface resAuditPageProps {
  code?: number
  data?: rowAuditProps[]
  msg?: string
}
// 审核列表明细
export interface rowAuditProps {
  /**
   * 审核结束时间
   */
  auditEndTime?: Date
  /**
   * 审核意见
   */
  auditOpinion?: string
  /**
   * 审核人ID
   */
  auditorId: number
  /**
   * 审核人名
   */
  auditorName: string
  /**
   * 审核开始时间
   */
  auditStartTime?: Date
  /**
   * 审核状态 (-1.未开启 1.审核中 2.通过 3.驳回)
   */
  auditStatus: number
  /**
   * 业务ID
   */
  businessId?: number
  /**
   * 业务类型
   */
  businessType?: number
  /**
   * 创建时间
   */
  createTime: Date
  /**
   * 主键
   */
  id: number
  /**
   * 是否是结束流程
   */
  isStopProcess?: boolean
  /**
   * 名称
   */
  name: string
  /**
   * 上个节点ID
   */
  previousNodeId?: number
  /**
   * 审核流程ID
   */
  processId: number
  /**
   * 模板组
   */
  templateGroup?: string
  /**
   * 模板名称
   */
  templateName?: string
}
